perm filename LOCAL.OLD[TEX,SYS] blob
sn#804998 filedate 1986-01-29 generic text, type T, neo UTF8
% local.tex -- released 7 January 1986
% for LaTeX version 2.09
% Revised 29 Jan 86 for SAIL by JJW.
%
% This file is used to produce a Local Guide for LaTeX users containing
% information specific to a site plus errors and omissions from the LaTeX
% manual (published by Addison-Wesley).
%
% The installer of LaTeX at a site is responsible for customizing this
% document and providing copies for users. He will have to read the
% text of this file CAREFULLY to see what must be added, removed, and
% changed.
% The \contact command is defined to generate the name of the person to
% whom questions should be sent. This should be someone at the site.
% Most users' questions are easily answered by anyone slightly familiar
% with LaTeX or TeX. Don't bother anyone at another site with questions
% that can be answered locally.
\font\tentt=cmtex10 % for special WAITS characters in verbatim text
\documentstyle[titlepage]{article}
\newcommand{\contact}{Joe Weening}
\newcommand{\BibTeX}{{\rm B\kern-.05em{\sc i\kern-.025em b}\kern-.08em
T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}}
\newcommand{\SLiTeX}{{\rm S\kern-.06em{\sc l\kern-.035emi}\kern-.06em T\kern
-.1667em\lower.7ex\hbox{E}\kern-.125emX}}
\newcommand\bs{\char '134 } % A backslash character for \tt font
\title{Using \LaTeX\ at SAIL}
\author{Leslie Lamport\\
Joe Weening}
\date{29 January 1986\\ % Keep this date current
For \LaTeX\ Version 2.09}
\begin{document}
\maketitle
\tableofcontents
\newpage
\LaTeX\ runs on a variety of computers at many different sites. This
document tells you how to use \LaTeX\ on SAIL.
It is not about \LaTeX\ itself, which is described by
the manual---{\em \LaTeX: A Document Preparation System}, published by
Addison-Wesley, available at fine book stores everywhere.
If you have a question that you can't answer by reading the manual and
this document, ask \contact. He should also be informed of any
possible \LaTeX\ bugs or undocumented anomalies.
\section{Getting Started}
\subsection{Running a Sample File} \label{sec:sample}
Before preparing your own documents, you may want to get acquainted
with \LaTeX\ by running it on a sample input file. First make your own
copy of the file \mbox{\tt sample.tex} by typing the following
monitor command:
\begin{verbatim}
copy sample.tex←sample.tex[tex,sys]
\end{verbatim}
(This and all other commands are ended by typing {\em return}.)
A copy of the file \mbox{\tt sample.tex} is now in your current
directory; you can edit it just like any other file. If you destroy or
mess up your copy, typing the above command again gets you a fresh
one.
Next, run \LaTeX\ on the file \mbox{\tt sample.tex} by typing:
\begin{verbatim}
r latex;sample
\end{verbatim}
When \LaTeX\ has finished, it will have produced the file \mbox{\tt
sample.dvi} in your directory, and will have inserted the command
\begin{verbatim}
r DVIdover;SAMPLE.DVI
\end{verbatim}
into your line editor. You can print this file on the second-floor
Dover by typing {\em return\/} at this point, or you can edit the
command to direct the output to a different printer. (Change
\mbox{\tt DVIdover} to {\tt DVIrover} for the fourth-floor Dover, or
to \mbox{\tt DVIesp} for the third-floor Imagen.) After it has been
printed, you can delete \mbox{\tt sample.dvi} by typing
\begin{verbatim}
del sample.dvi
\end{verbatim}
\subsection{Preparing and Running \LaTeX\ on Your Own Files}
You must use a text editor to prepare an input file for \LaTeX\@.
Almost everyone on SAIL uses the editor called ``E,'' which is
described in the
document {\em Essential E\/} by Arthur Samuel (available from
the CSD receptionist), and is also documented online. Type the
monitor command
\begin{verbatim}
help eteach
\end{verbatim}
to get an online tutorial if you are unfamiliar with E\@.
The easiest way to start learning about \LaTeX\ is by
examining the file \mbox{\tt small.tex} with your text editor.
You can obtain your own copy of this file, in your directory,
by typing the command
\begin{verbatim}
copy small.tex←small.tex[tex,sys]
\end{verbatim}
After you have prepared your file, whose name should have the extension
{\tt tex}, you must run it through \LaTeX\ and print the output.
Follow the instructions in Section~\ref{sec:sample}, except substitute
the first name of your file for ``\mbox{\tt sample}''. Remember to
save disk space by deleting the {\tt dvi} file after printing the
output.
%List the text editors, available, and any special features they have
%for producing \LaTeX\ input. Explain how the various text editors
%could cause bad characters to appear in the input file that would
%generate the
%\begin{verbatim}
%! Text line contains an invalid character.
%\end{verbatim}
%error.
If you want to stop \LaTeX\ in the middle of its execution, perhaps
because it is printing a seemingly unending string of uninformative
error messages, type {\em ESC I}\@. (First type the key marked
{\em ESC\/} and then type {\em I}, if you are on a local terminal.
If not, consult the {\em Monitor Command Manual\/} to determine how
to interrupt the program.) This will make \LaTeX\ stop as if it
had encountered an ordinary error, and you can return to monitor command
level by typing {\tt X}, as described in the manual. If typing {\em
ESC I\/} doesn't work, typing the {\em CALL\/} key will get you
immediately to monitor command level, but will not necessarily cause
all the output generated so far to appear in the output files.
%To use the {\em spell\/} program for finding spelling errors in a
%\LaTeX\ input file named \mbox{\tt myfile.tex}, type the following
%command:
%\begin{verbatim}
% delatex myfile.tex | spell
%\end{verbatim}
%This will type a list of possibly misspelled words on your terminal.
%If you'd rather have the output written to a file named \mbox{\tt
%foo.bar}, type
%\begin{verbatim}
% delatex myfile.tex | spell >foo.bar
%\end{verbatim}
\section{Carrying On}
\subsection{\LaTeX\ on SAIL} \label{sec:op-system}
The only special problems in using \LaTeX\ caused by SAIL's
operating system involve the way it handles files. The first
problem arises because, when a program finishes writing a file, it
destroys the previous version of that file. Thus, if an error forces
you to stop \LaTeX\ prematurely (by typing {\em ESC I\/}),
then the files that \LaTeX\ was writing are incomplete,
and the previous complete versions have been destroyed. You probably
don't care about the output on the {\tt dvi} file, but, if you are
making a table of contents or using cross-referencing commands, then
\LaTeX\ also writes one or more {\em auxiliary files\/} that it reads
the next time it processes the same input file. If the auxiliary files
are incomplete because \LaTeX\ was stopped before reaching the end of
its input file, then the table of contents and cross-references will be
incorrect the next time \LaTeX\ is run on the same input file. You
will have to run \LaTeX\ a second time to get them right. If you want
to avoid having to run \LaTeX\ twice after making an error---for
example, if your input is very long---then you should save copies of
these auxiliary files before running \LaTeX\@. An input file named
\mbox{\tt myfile.tex} and all the auxiliary files produced by \LaTeX\
from it are included in the file specifier \mbox{\tt myfile.*}.
Use the {\tt copy} command to save copies of these files.
The second problem in using \LaTeX\ on SAIL involves the files that
\LaTeX\ reads. The file whose name you type with the {\tt r latex}
command is called the {\em root file}. In addition to reading the root
file, \LaTeX\ also reads the files specified by \hbox{\verb|\input|}
and \hbox{\verb|\include|} commands. With SAIL's directory system,
\LaTeX\ must know not only the names of these file but also on what
directories they are. It will have no problem finding the correct
files if you follow two simple rules:
\begin{enumerate}
\item Run \LaTeX\ from the directory containing the root file.
\item Keep all files specified by \hbox{\verb|\input|} and
\hbox{\verb|\include|} commands in the same directory as the root
file.
\end{enumerate}
If you follow these rules, you never have to type a directory name
when using \LaTeX.
You should never break the first rule, otherwise \LaTeX\ will have
trouble finding auxiliary files. (To run \LaTeX\ on someone else's
file, copy the file to your directory.) If you break the second
rule, specifying a file from another directory in an
\hbox{\verb|\input|} or \hbox{\verb|\include|} command, you must use a
complete file name. For example, to include the file \mbox{\tt hisfil.tex}
from the directory \hbox{\verb|[foo,bar]|}, you can type
\begin{verbatim}
\include{hisfil[foo,bar]}
\end{verbatim}
For people who don't like to obey rules, here is exactly how \LaTeX\ finds
its files.
\LaTeX's auxiliary files are read and written in the directory from which
it is run.
All file names specified in the \LaTeX\ input, including the names of
document-style ({\tt sty}) files specified by the
\hbox{\verb|\documentstyle|} command, are interpreted relative to the
directory from which \LaTeX\ is run, unless they specify a directory
name explicitly.
If \LaTeX\ does not find a file starting in this directory, it looks in
the system directory \hbox{\verb|[tex,sys]|}.
\subsection{Document Styles}
There are three document styles and style options available at SAIL that
are not described in the manual: the \mbox{\tt proc} style option for
making camera-ready copy for conference proceedings, the {\tt bezier}
option for drawing curves, and the {\tt ifthen} option for implementing
{\bf if-then-else} and {\bf while-do} control structures.
\subsubsection{The {\tt proc} Style Option}
The {\tt proc} option is used with the \mbox{\tt article} document
style. It produces two-column output for ACM and IEEE conference
proceedings. The command \hbox{\verb|\copyrightspace|} makes the blank
space at the bottom of the first column of the first page, where the
proceedings editor will insert a copyright notice. This command works
by producing a blank footnote, so it is placed in the text of the first
column. It must go after any \hbox{\verb|\footnote|} command that
generates a footnote in that column.
\LaTeX\ automatically numbers the output pages. It's a good idea
to identify the paper on each page of output. Placing the command
\begin{verbatim}
\markright{Jones---Foo}
\end{verbatim}
in the preamble (before the \hbox{\verb|\begin{document}|} command)
prints ``Jones---Foo'' at the bottom of each page.
\subsubsection{The {\tt bezier} Style Option}
This option defines a single command, \hbox{\verb|\bezier|}, that draws
a curved line in a {\tt picture} environment. Let $P_{i}$ be the point
with coordinates $(x_{i},y_{i})$, for $i=1$, 2, and 3. The command
\begin{itemize} \tt
\item[]
\verb|\bezier{|$n$\verb|}(|$x_{1}$,$y_{1}$)($x_{2}$,$y_{2}$)($x_{3}$,$y_{3}$)
\end{itemize}
draws $n$ points on the quadratic Bezier spline determined by the three
points $P_{1}$, $P_{2}$, and $P_{3}$. The locus of points on this
spline is a parabolic arc from $P_{1}$ to $P_{3}$ having the line
$P_{1}P_{2}$ tangent to it at $P_{1}$ and the line $P_{2}P_{3}$ tangent
to it at $P_{3}$. Note that $P_{2}$ is {\em not\/} on this arc unless
$P_{1}$, $P_{2}$, and $P_{3}$ are colinear, in which case the arc is a
straight line. Bezier splines are useful because it's easy to join two
of them together smoothly by giving them the same tangent line where
they meet.
It takes roughly 75 points per inch to form a solid line, depending
upon the line thickness. See Section~C.13.3 of the manual for commands
to specify line thickness in a {\tt picture} environment. This command
is {\em very\/} slow, and \TeX\ has enough memory to hold only about
1000 points plus a page of text. (Remember that \TeX\ keeps the
current page plus all as yet unprinted figures in memory.) So, the
\verb|bezier| command should be used for only a small number of small
curves.
\subsubsection{The {\tt ifthen} Style Option}
This option provides two programming language features that are useful
only for people who already know how to program. It defines the
two commands
\begin{itemize}
\item[]
\verb|\ifthenelse{|{\em test\/}\verb|}{|{\em then clause\/}\verb|}{|%
{\em else clause\/}\verb|}|\\
\verb|\whiledo{|{\em test\/}\verb|}{|{\em do clause\/}\verb|}|
\end{itemize}
that implement the following two Pascal language structures
\begin{itemize}
\item[]
\begin{tabbing}
{\bf if} {\em test\/} \= {\bf then} \= {\em then clause\/} \\
\> {\bf else} \> {\em else clause\/} \\[2pt]
{\bf while} {\em test\/} {\bf do} {\em do clause\/}
\end{tabbing}
\end{itemize}
The {\em then\/}, {\em else\/}, and {\em do\/} clauses
are ordinary \LaTeX\ input; {\em test\/} is one of the following:
\begin{itemize}
\item A relation between two numbers formed with {\tt <}, {\tt >},
or {\tt =}; for example, \hbox{\verb|\value{page}>3|}.
\item \verb|\equal{|{\em string1\/}\verb|}{|%
{\em string2\/}\verb|}|, which evaluates to {\em true\/} if {\em
string1\/} and {\em string2\/} are the same strings of characters after
all commands have been replaced by their definitions. (Upper- and
lowercase letters are unequal.)
\item A logical combination of the above two kinds of tests
using the operators \hbox{\verb|\or|}, \hbox{\verb|\and|},
and \hbox{\verb|\not|} and the parentheses \hbox{\verb|\(|}
and \hbox{\verb|\)|}---for example:
\begin{verbatim}
\not \( \value{section} = 1 \and \equal{Jones}{\myname} \)
\end{verbatim}
\end{itemize}
These commands, together with \hbox{\verb|\renewcommand|} and the
commands of Section~C.7.4 for manipulating counters, open up a whole
new world of hacking.
% --- describe SUthesis style here (change "three" to "four" above) ---
%\subsubsection{Letters} \label{sec:letters}
%
%The \mbox{\tt letters} document style, described in the manual, should
%be used for generating personal letters. For generating letters to be
%copied onto SRC letterhead, use the \mbox{\tt srcletter} style. This
%style works for the old letterhead (the one with the Digital logo
%printed in blue). Mailing labels are formatted in two columns of five
%$2''\times\mbox{4-1/4}''$ labels each, suitable for copying onto Avery
%brand, number 5352 address labels.
%
%There are no features for making letters other than those described in
%the manual. However, suggestions will be accepted for such options as
%the ability to print ones net address as part of the letterhead.
\subsection{Where the Files Are}
% must explain where the following files are:
% small.tex, sample.tex, *.sty, *.doc, lablst.tex, idx.tex
%
All \LaTeX\ files mentioned in the manual, including the {\tt sty} and
{\tt doc} files, are on the directory \mbox{\tt [tex,sys]}.
Fonts are stored in two directories: the {\tt tfm} files used by \TeX\
are on \mbox{\tt /[tex,sys]}, and the GF files used by {\em DVIesp\/}
and other device drivers are in \mbox{\tt [gf,sys]}.
\subsection{Running {\tt lablst.tex} and {\tt idx.tex}}
A list of labels and citations in an input file is printed
by running \LaTeX\ on the input file \mbox{\tt lablst.tex},
which is done by typing
\begin{verbatim}
r latex;lablst
\end{verbatim}
\LaTeX\ will then ask for the name of the input file, which should be
typed without an extension, and for the name of the main document style
(e.g., \mbox{\tt article}), used by that file.
The index entries on an {\tt idx} file are printed by running \LaTeX\
on the file \mbox{\tt idx.tex}, which is done by typing
\begin{verbatim}
r latex;idx
\end{verbatim}
\LaTeX\ will ask for the name of the {\tt idx} file, which is typed
without an extension.
\subsection{Differences from the Manual}
All \LaTeX\ features described in the manual are provided by
the implementation at SAIL.
%Explain here any characters that can appear in input files other than
%the ones listed in Section 2.1.
%Tell if the \mbox{\tt log} file has an extension other than
%\mbox{\tt .log}. Note: on TOPS-20, its extension is \mbox{\tt .lst}.
%Describe the sizes of disks and circles the are available.
%Don't forget to mention if the invisible fonts needed for \SLiTeX\
%color slides are unavailable.
\subsection{Using \BibTeX}
\BibTeX\ is a program for compiling a reference list for a document
from a bibliographic database. It is run by typing
\begin{verbatim}
r bibtex;myfile
\end{verbatim}
where \mbox{\tt myfile.tex} is the name of your \LaTeX\ input file.
This reads the file \mbox{\tt myfile.aux}, which was generated when you
ran \LaTeX\ on \mbox{\tt myfile.tex}, and produces the file \mbox{\tt
myfile.bbl}. \BibTeX\ should be run from the directory containing
\mbox{\tt myfile.tex} (which should be the same directory from which
\LaTeX\ was run on that file).
If the {\tt bib} file is not in the same directory as the \LaTeX\ input
file---for example, if you're using someone else's {\tt bib}
file---then you must include a directory as part of the file name specified
by the \hbox{\verb|\bibliography|} command.
For example, the \LaTeX\ command
\begin{verbatim}
\bibliography{gnus[bib,jjw]}
\end{verbatim}
specifies the file \mbox{\tt gnus.bib} in the directory
\hbox{\verb|[bib,jjw]|}.
There is now no formal provision for sharing bibliographic database
information, nor are there programs to assist in making your own {\tt
bib} files. Suggestions for forming one or more common {\tt bib} files
are welcome.
In addition to the bibliography styles described in the manual, there
is a {\tt ieeetr} style that formats entries in the style of the IEEE
transactions.
In addition to the usual three-letter abbreviations for the months, the
following abbreviations are defined by the bibliography styles:
\begin{list}{}{\labelwidth 0pt \itemindent-.5\leftmargin
\itemsep=2pt plus 1pt
\let\makelabel\descriptionlabel}\it
\item[\tt acmcs] ACM Computing Surveys
\item[\tt acta] Acta Informatica
\item[\tt cacm] Communications of the ACM
\item[\tt ibmjrd] IBM Journal of Research and Development
\item[\tt ibmsj] IBM Systems Journal
\item[\tt ieeese] IEEE Transactions on Software Engineering
\item[\tt ieeetc] IEEE Transactions on Computers
\item[\tt ieeetcad]
IEEE Transactions on Computer-Aided Design of Integrated Circuits
\item[\tt ipl] Information Processing Letters
\item[\tt jacm] Journal of the ACM
\item[\tt jcss] Journal of Computer and System Sciences
\item[\tt scp] Science of Computer Programming
\item[\tt sicomp] SIAM Journal on Computing
\item[\tt tocs] ACM Transactions on Computer Systems
\item[\tt tods] ACM Transactions on Database Systems
\item[\tt tog] ACM Transactions on Graphics
\item[\tt toms] ACM Transactions on Mathematical Software
\item[\tt toois] ACM Transactions on Office Information Systems
\item[\tt toplas] ACM Transactions on Programming Languages and Systems
\item[\tt tcs] Theoretical Computer Science
\end{list}
% Note: All styles should share the same set of abbreviations.
\subsection{Using \SLiTeX}
\SLiTeX\ is a version of \LaTeX\ for making slides.
To run \SLiTeX\ with a root file \mbox{\tt myroot.tex}, you type
\begin{verbatim}
r slitex;myroot
\end{verbatim}
(You should be aliased to the directory containing \mbox{\tt
myroot.tex}.) Refer to Section~\ref{sec:op-system} if you want slide
files or \hbox{\verb|\input|} files to be in a different directory from
your root file.
Color slides are made by copying the color layers produced by \SLiTeX\
onto color transparencies using the Thermofax machine on the second
floor.
\subsection{Fonts}
Almost all the symbols available on our fonts can be generated by
ordinary \LaTeX\ commands. However, there are type sizes not
obtainable by \LaTeX's size-changing commands with the ordinary
document styles. Consult a local \TeX\ expert to find the
\TeX\ name for such a font.
Tables~\ref{tab:styles} and \ref{tab:fonts} allow you
to determine if the font for a type style at a particular
size is preloaded, loaded on demand, or unavailable.
\begin{table}
\centering
\begin{tabular}{l|r|r|r|}
\multicolumn{1}{l}{size} &
\multicolumn{1}{c}{default (10pt)} &
\multicolumn{1}{c}{11pt option} &
\multicolumn{1}{c}{12pt option}\\
\cline{2-4}
\verb|\tiny| & 5pt & 6pt & 6pt\\
\cline{2-4}
\verb|\scriptsize| & 7pt & 8pt & 8pt\\
\cline{2-4}
\verb|\normalsize| & 10pt & 11pt & 12pt \\
\cline{2-4}
\verb|\large| & 12pt & 12pt & 14pt \\
\cline{2-4}
\verb|\Large| & 14pt & 14pt & 17pt \\
\cline{2-4}
\verb|\LARGE| & 17pt & 17pt & 20pt\\
\cline{2-4}
\verb|\huge| & 20pt & 20pt & 25pt\\
\cline{2-4}
\verb|\Huge| & 25pt & 25pt & 25pt\\
\cline{2-4}
\end{tabular}
\caption{Type sizes for \LaTeX\ size-changing commands.}\label{tab:styles}
\end{table}
\begin{table}
\centering
\begin{tabular}{l|c|c|c|c|c|c|}
\multicolumn{1}{l}{}&
\multicolumn{1}{c}{\tt \bs it} &
\multicolumn{1}{c}{\tt \bs bf} &
\multicolumn{1}{c}{\tt \bs sl} &
\multicolumn{1}{c}{\tt \bs sf} &
\multicolumn{1}{c}{\tt \bs sc} &
\multicolumn{1}{c}{\tt \bs tt} \\
\cline{2-7}
5pt & D & D & X & X & X & X \\
\cline{2-7}
6pt & X & D & X & X & X & X \\
\cline{2-7}
7pt & P & D & X & X & X & X \\
\cline{2-7}
8pt & P & D & D & D & D & D \\
\cline{2-7}
9pt & P & P & D & D & D & P \\
\cline{2-7}
10pt & P & P & P & P & D & P \\
\cline{2-7}
11pt & P & P & P & P & D & P \\
\cline{2-7}
12pt & P & P & P & P & D & P \\
\cline{2-7}
14pt & D & P & D & D & D & D \\
\cline{2-7}
17pt & D & P & D & D & D & D \\
\cline{2-7}
20pt & D & D & D & D & D & D \\
\cline{2-7}
25pt & X & D & X & X & X & X \\
\cline{2-7}
\end{tabular}
\caption{Font classes: P = preloaded, D = loaded on demand,
X = unavailable.}\label{tab:fonts}
\end{table}
Table~\ref{tab:styles} tells you what size of type is used for each
\LaTeX\ type-size command in the various document-style options. For
example, with the {\tt 12pt} option, the \hbox{\verb|\large|}
declaration causes \LaTeX\ to use 14pt type. Table~\ref{tab:fonts}
tells, for every type size, to which class of fonts each type style
belongs. For example, in 14pt type, \verb|\bf| uses a preloaded
font and the other five type-style commands use load-on-demand fonts.
Roman (\verb|\rm|) and math italic (\verb|\mit|) fonts are all
preloaded; the \hbox{\verb|\em|} declaration uses either italic
(\verb|\it|) or roman.
%Describe any special fonts available here.
%Tell where to find a font manual, listing the character numbers of
%the symbols on different fonts.
%Include a table telling which fonts are preloaded, loaded on demand,
%and unavailable.
\subsection{Special Versions}
No foreign-language or other special versions of \LaTeX\
are currently available at SAIL.
\section{Errata and Additions to the Manual}
\input{addendum}
\end{document}
%&c&@i*\hbox{* 2@s\|\ @i|}|#&
%&i&\index{#}&
%&m&\mbox#&
%&t&{\tt #}&
%&v&\hbox{\verb|#|}&
%&b&\verb|#|&
%&h&\hbox#&